<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /* 1.分类：
            基本（值）类型
              string:任意字符串
              number:任意的数字
              boolean:true/false
              null:null 
              undefined:undefined

            引用（对象）类型
              object:任意对象（包括函数，数组等）
              Array:一种特殊的对象（数值下标，内部数据是有序的）
              Function:一种特殊的对象（可以执行） 

           2.判断方法
            typeof(返回数据类型的字符串表达式)
              可以判断:undefined / 数值 / 字符串 / 布尔值
              不能判断：null与object Array与object(null和Array都是属于object)
            instanceof
              可以判断对象的具体类型
            == / ===  
              可以判断:undefined / null
        */
        // var a = "5";
        // var b = 4;
        // var c = [];
        // console.log(typeof a == "string", typeof b === "number", c instanceof Array);
        // true true true

        /* 1. undefined与null的区别？
              undefined表示定义未赋值
              null表示定义并赋值了，只是值为null
           2. 什么时候给变量赋值为null呢？
              *初始赋值，表明将要赋值为对象
              *让对象称为垃圾对象（对象被垃圾回收器回收）
           3. 严格区别变量类型与数据类型  
              *数据的类型
              *变量的类型（变量内存值的类型）
                 基本类型:保存的是基本类型的数据
                 引用类型:保存的是对象的内存地址
        */
    </script>
</head>
<body>
</body>
</html>